1. Field of the Invention
The present invention relates to a technique for data processing, and in particular, it relates to a technique suitable for a database management system (DBMS) having a system switchover function.
2. Description of the Related Art
Network business in which the stop of service causes a serious loss in business opportunities requires a reliable system that works for 24 hours all the year around. Particularly, it is important to localize the influence of failure and to restore the system rapidly. Related-art database management systems (DBMS) have used “a technique of system switchover” in which a standby machine separate from a service executive machine is prepared, to which the execution of the service is switched when failure occurs in order to restore the system rapidly in the event of failure.
For example, a technique for a hot standby nonstop operation and high availability (HA) adopted as remedies for DBMS failure with such a system configuration is disclosed in “Transaction Processing, Concepts and Techniques”, by Jim Gray and Andreas Reuter, Morgan Kaufmann Publishers, 1993.
Also, a technique for architecture in which the load of database processing is shared by multiple processors, where the process is executed in parallel, is disclosed in “Parallel Database Systems, the Future of High Performance Database Systems”, Communications of the ACM, Vol. 35, No. 6, 1992, pp. 85-98. The shared-everything shared-disk architecture disclosed in the related art allows all the computers that execute DB processing to access all data, while a shared-nothing architecture allows access only to data stored in disks connected to its own computers.
A shared-nothing architecture has less shared resources among the constituent units that execute DB processing than a shared-everything architecture and so has excellent scalability. Also the shared-nothing architecture often uses the technique of system switchover to provide high availability.
A technique of system switchover in which a DB storage region is used as the unit of switchover in a database management system including multiple DB storage regions in each machine (for example, a load-sharing system-switchover method) is disclosed in “Implementing IBM DB2 Universal Database V8.1 Enterprise Server Edition with Microsoft Cluster Server”, by Aslam Nomani, International Business Machines Corporation, FIG. 16, pp. 40-41, 2003 (searched online on Dec. 19, 2003). <http://www-306.ibm.com/software/data/pubs/papers/esemcs/esemcs.pdf> In this technique, an execution system and a standby system are defined for each DB storage region, wherein, in normal state, the execution system accesses a corresponding DB storage region, while in failure, the standby system accesses a corresponding DB storage region, to continue the service. In this method, a standby system is defined such that multiple DB storage regions of an identical machine are distributed to difference machines. When failure has occurred in one machine, multiple DB storage regions of the machine are taken over to different machines. Thus, the process execution load after system switchover is shared by multiple machines, thereby reducing a decrease in throughput of the entire system.
The system switchover method has to prepare a standby machine different from an execution machine, and the standby machine is out of use when a normal service is executed. Also, in the system switchover method, the execution of a normal service can be assigned also to the standby machine in the form of cross standby. However, in order to restore the system rapidly in the event of switchover, the system in the standby machine is often started halfway (warm standby or hot standby), so that the resource (processes and memories) of the standby system must be prepared too much.
The system that requires a standby-only resource which is inoperative in normal state does not make effective use of the resource in normal state, having a problem in terms of reduction in total cost of ownership (TCO) in system construction and operation. Also, when failure occurs in a given operating machine and the failure is taken over to another operating machine by system switchover, process load is concentrated to the destination machine (the load can be twice as high as that of normal state), decreasing the throughput of the entire system.